#!/bin/bash

# 说明
# - 将此文件作为全局忽略模板放在你机器的固定位置，例如 /home/youruser/gitignore_global/.gitignore_global
# - 之后通过 git config --global core.excludesfile 路径绑定
# - 你可以把需要的条目逐步添加到其中，并通过 git check-ignore 验证
# - 也可为不同平台或项目定制分支特定的排除规则

# 继续保留当前模板最小化、可扩展性强
mkdir -p /home/youruser/gitignore_global

cat > /home/youruser/gitignore_global/.gitignore_global << 'EOF'
# 全局 Git 忽略模板
# 你可以把这个文件放在你的 home 目录下的 gitignore_global/.gitignore_global
# 这是一个可扩展的基线清单，按需调整注释和条目
#
# 操作系统相关
.DS_Store
Thumbs.db
ehthumbs.db
Desktop.ini

# 编辑器/IDE 产物
.vscode/
.idea/
*.suo
*.user
*.code-workspace

# 构建产物与缓存
node_modules/
dist/
build/
out/
coverage/
.next/
.pnpm-store/
vendor/

# 日志与临时
*.log
*.tmp
*.cache
*.pid
*.swp
*.swo

# 环境变量与凭据
.env
*.env.*
.env.local
.secret

# 其他缓存/临时
*.pyc
*.class
.pytest_cache
.coverage
.cache/
.yarn/
.yarn-cache/
.pytest_cache
.coverage
EOF

git config --global core.excludesfile /home/youruser/gitignore_global/.gitignore_global

echo "全局 Git 忽略文件已创建并配置完成：/home/youruser/gitignore_global/.gitignore_global"
echo "你可以使用以下命令验证某个文件是否被全局忽略："
echo "  git check-ignore -v path/to/file"
echo ""
echo "如果需要在某个仓库中覆盖全局忽略规则，可以在该仓库的 .gitignore 中添加否定规则，例如："
echo "  !path/to/necessary_file.ext"
